program main
	use Matrix_module
	implicit none
	real, allocatable, dimension(:,:)	:: matrix
	real, allocatable, dimension(:,:)	:: solution
	integer	:: rank, i, j
	
	read*, rank
	allocate(matrix(rank, rank))
	do i = 1, rank
		read*, (matrix(i,j), j=1, rank)
	end do

	call matrixInverse(matrix, solution)
	solution = MATMUL(matrix, solution)
	do i = 1, rank
		print*, solution(i,:)
	end do

end program